﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DANGQUYNHTRANG.Programming.Part04.BT01
{
    public partial class CalculatorView : Form
    {
        public CalculatorView()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBoxResult.Items.Clear();
            errorProvider1.Clear();
            double numberA;
            double numberB;

            if (string.IsNullOrEmpty(txtA.Text))
            {
                //MessageBox.Show("Yêu cầu bạn phải nhập vào số A!!","Thông báo");
                errorProvider1.SetError(txtA,"Yêu cầu bạn phải nhập vào số A!");
                txtA.Focus();
            }
            else if (!double.TryParse(txtA.Text, out numberA))
            {
                //MessageBox.Show("Yêu cầu bạn phải nhập vào số A!!","Thông báo");
                errorProvider1.SetError(txtA, "Số bạn nhập không phải là chữ số");
                txtA.Focus();
            }
            else if (string.IsNullOrEmpty(txtB.Text))
            {
                //MessageBox.Show("Yêu cầu bạn phải nhập vào số B!", "Thông báo");
                errorProvider1.SetError(txtB,"Yêu cầu bạn phải nhập vào số B!");
                txtB.Focus();
            }
            else if (!double.TryParse(txtB.Text, out numberB))
            {
                //MessageBox.Show("Yêu cầu bạn phải nhập vào số A!!","Thông báo");
                errorProvider1.SetError(txtB, "Số bạn nhập không phải là chữ số");
                txtB.Focus();
            }
            else if (string.IsNullOrEmpty(comboBox1.Text))
            {
                errorProvider1.SetError(comboBox1, "Yêu cầu bạn phải chọn phép tính");
                comboBox1.Focus();
            }
            else
            {
                CalculatorControler control = new CalculatorControler();
                NUMBER obj = new NUMBER(numberA, numberB);

                if ((numberB == 0) && (comboBox1.SelectedIndex == 3)){
                    if (numberA == 0)
                        MessageBox.Show("Result of function is underfined!");
                    else
                        MessageBox.Show("Cannot divide by zero!");
                }
                else
                    listBoxResult.Items.Add("" + control.TinhToan(obj, comboBox1.SelectedIndex));
            }
        }

    }
}
